In recent years flow-based programmable network devices have gained increasing attraction, in particular in connection with software-defined networking (SDN). The development from traditional network architectures to SDN architectures has been triggered and pushed forward by a need for new structures resulting from the explosion of mobile communication and emerging computing trends, like cloud computing, server virtualization, or “Big data” processing. These computing trends come along with a gradual replacement of traditional client-server applications with applications that require access to various databases and servers with significantly different traffic patterns that create a vast amount of machine-to-machine traffic.
In order to overcome the limitations of current network technologies and to meet the requirements resulting from the growing dynamics of today's network usage, SDN decouples control and data planes. In SDN, the traditional binding of network control to individual network devices is abolished. Instead, network control is migrated to separated software-based SDN controllers, which maintain a global view of the network. As a result, SDN enables programmable central control of network traffic without requiring physical access to the network's hardware devices. OpenFlow is the first standard protocol for controlling flow-based programmable network devices, in particular SDN devices, by providing an interface that allows communication between the control plane and the data plane.
Flow-based programmable network devices, like e.g. SDN switches, have a control interface that is used by the controller to configure/program them. The control interface is a critical element of a flow-based programmable network device to enable advanced network functions, since it deals directly with the ability of the controller to timely provide the flow-based programmable network device with the required instructions. Even if the control interface performance actually depends on the specific implementation of the flow-based programmable network device, in many cases the control interface is identified as the bottleneck in the performance of these devices. As a consequence, scalability of the switches' control interface is an important issue.